home *** CD-ROM | disk | FTP | other *** search
- #ifdef __STDC__
- static char sccs_id[] = "@(#) memcpy.c 1.0 "__DATE__" HJR";
- #else
- static char sccs_id[] = "@(#) memcpy.c 1.0 26/9/90 HJR";
- #endif
-
- /* memcpy.c (c) Copyright 1990 H.Rogers */
-
- #include <string.h>
-
- #ifdef ARCH
- extern void *__memcpy(void *,const void *,size_t);
- #endif
-
- #ifdef __STDC__
- void *(memcpy)(register void *s1,register const void *s2,register size_t n)
- #else
- void *(memcpy)(s1,s2,n)
- register void *s1;
- register const void *s2;
- register size_t n;
- #endif
- #ifdef ARCH
- { return(__memcpy(s1,s2,n)); }
- #else
- {
- register unsigned char *_s1 = (unsigned char *)s1,*_s2 = (unsigned char *)s2;
-
- if (_s1 == _s2) return(s1);
- if (_s1 < _s2)
- {
- while (n & 0x07)
- {
- n--;
- *_s1++ = *_s2++;
- }
- n >>= 3; while (n)
- {
- n--;
- *_s1++ = *_s2++;
- *_s1++ = *_s2++;
- *_s1++ = *_s2++;
- *_s1++ = *_s2++;
- *_s1++ = *_s2++;
- *_s1++ = *_s2++;
- *_s1++ = *_s2++;
- *_s1++ = *_s2++;
- }
- }
- else
- {
- _s1 += n; _s2 += n;
-
- while (n & 0x07)
- {
- n--;
- *--_s1 = *--_s2;
- }
- n >>= 3; while (n)
- {
- n--;
- *--_s1 = *--_s2;
- *--_s1 = *--_s2;
- *--_s1 = *--_s2;
- *--_s1 = *--_s2;
- *--_s1 = *--_s2;
- *--_s1 = *--_s2;
- *--_s1 = *--_s2;
- *--_s1 = *--_s2;
- }
- }
-
- return(s1);
- }
- #endif
-
- #ifdef __STDC__
- void *(memmove)(register void *s1,register const void *s2,register size_t n)
- #else
- void *(memmove)(s1,s2,n)
- register void *s1;
- register const void *s2;
- register size_t n;
- #endif
- #ifdef ARCH
- { return(__memcpy(s1,s2,n)); }
- #else
- { return(memcpy(s1,s2,n)); }
- #endif
-
- #ifdef __STDC__
- void *(bcopy)(register const void *s1,register void *s2,register size_t n)
- #else
- void *(bcopy)(s1,s2,n)
- register void *s1;
- register const void *s2;
- register size_t n;
- #endif
- {
- return(bcopy(s1,s2,n));
- }
-